depends = ( 'Base',)
templates = (
  ('CostFunction', 'itk::CostFunction', 'itkCostFunction'),
  ('SmartPointer', 'itk::SmartPointer', 'itkCostFunction_Pointer', 'itk::CostFunction'),
  ('SingleValuedCostFunction', 'itk::SingleValuedCostFunction', 'itkSingleValuedCostFunction'),
  ('SmartPointer', 'itk::SmartPointer', 'itkSingleValuedCostFunction_Pointer', 'itk::SingleValuedCostFunction'),
  ('Optimizer', 'itk::Optimizer', 'itkOptimizer'),
  ('SmartPointer', 'itk::SmartPointer', 'itkOptimizer_Pointer', 'itk::Optimizer'),
  ('NonLinearOptimizer', 'itk::NonLinearOptimizer', 'itkNonLinearOptimizer'),
  ('SmartPointer', 'itk::SmartPointer', 'itkNonLinearOptimizer_Pointer', 'itk::NonLinearOptimizer'),
  ('SingleValuedNonLinearOptimizer', 'itk::SingleValuedNonLinearOptimizer', 'itkSingleValuedNonLinearOptimizer'),
  ('SmartPointer', 'itk::SmartPointer', 'itkSingleValuedNonLinearOptimizer_Pointer', 'itk::SingleValuedNonLinearOptimizer'),
  ('SingleValuedNonLinearVnlOptimizer', 'itk::SingleValuedNonLinearVnlOptimizer', 'itkSingleValuedNonLinearVnlOptimizer'),
  ('SmartPointer', 'itk::SmartPointer', 'itkSingleValuedNonLinearVnlOptimizer_Pointer', 'itk::SingleValuedNonLinearVnlOptimizer'),
  ('MultipleValuedNonLinearOptimizer', 'itk::MultipleValuedNonLinearOptimizer', 'itkMultipleValuedNonLinearOptimizer'),
  ('SmartPointer', 'itk::SmartPointer', 'itkMultipleValuedNonLinearOptimizer_Pointer', 'itk::MultipleValuedNonLinearOptimizer'),
  ('MultipleValuedNonLinearVnlOptimizer', 'itk::MultipleValuedNonLinearVnlOptimizer', 'itkMultipleValuedNonLinearVnlOptimizer'),
  ('SmartPointer', 'itk::SmartPointer', 'itkMultipleValuedNonLinearVnlOptimizer_Pointer', 'itk::MultipleValuedNonLinearVnlOptimizer'),
  ('ConjugateGradientOptimizer', 'itk::ConjugateGradientOptimizer', 'itkConjugateGradientOptimizer'),
  ('SmartPointer', 'itk::SmartPointer', 'itkConjugateGradientOptimizer_Pointer', 'itk::ConjugateGradientOptimizer'),
  ('GradientDescentOptimizer', 'itk::GradientDescentOptimizer', 'itkGradientDescentOptimizer'),
  ('SmartPointer', 'itk::SmartPointer', 'itkGradientDescentOptimizer_Pointer', 'itk::GradientDescentOptimizer'),
  ('LBFGSOptimizer', 'itk::LBFGSOptimizer', 'itkLBFGSOptimizer'),
  ('SmartPointer', 'itk::SmartPointer', 'itkLBFGSOptimizer_Pointer', 'itk::LBFGSOptimizer'),
  ('LevenbergMarquardtOptimizer', 'itk::LevenbergMarquardtOptimizer', 'itkLevenbergMarquardtOptimizer'),
  ('SmartPointer', 'itk::SmartPointer', 'itkLevenbergMarquardtOptimizer_Pointer', 'itk::LevenbergMarquardtOptimizer'),
  ('OnePlusOneEvolutionaryOptimizer', 'itk::OnePlusOneEvolutionaryOptimizer', 'itkOnePlusOneEvolutionaryOptimizer'),
  ('SmartPointer', 'itk::SmartPointer', 'itkOnePlusOneEvolutionaryOptimizer_Pointer', 'itk::OnePlusOneEvolutionaryOptimizer'),
  ('QuaternionRigidTransformGradientDescentOptimizer', 'itk::QuaternionRigidTransformGradientDescentOptimizer', 'itkQuaternionRigidTransformGradientDescentOptimizer'),
  ('SmartPointer', 'itk::SmartPointer', 'itkQuaternionRigidTransformGradientDescentOptimizer_Pointer', 'itk::QuaternionRigidTransformGradientDescentOptimizer'),
  ('RegularStepGradientDescentBaseOptimizer', 'itk::RegularStepGradientDescentBaseOptimizer', 'itkRegularStepGradientDescentBaseOptimizer'),
  ('SmartPointer', 'itk::SmartPointer', 'itkRegularStepGradientDescentBaseOptimizer_Pointer', 'itk::RegularStepGradientDescentBaseOptimizer'),
  ('RegularStepGradientDescentOptimizer', 'itk::RegularStepGradientDescentOptimizer', 'itkRegularStepGradientDescentOptimizer'),
  ('SmartPointer', 'itk::SmartPointer', 'itkRegularStepGradientDescentOptimizer_Pointer', 'itk::RegularStepGradientDescentOptimizer'),
  ('VersorTransformOptimizer', 'itk::VersorTransformOptimizer', 'itkVersorTransformOptimizer'),
  ('SmartPointer', 'itk::SmartPointer', 'itkVersorTransformOptimizer_Pointer', 'itk::VersorTransformOptimizer'),
  ('AmoebaOptimizer', 'itk::AmoebaOptimizer', 'itkAmoebaOptimizer'),
  ('SmartPointer', 'itk::SmartPointer', 'itkAmoebaOptimizer_Pointer', 'itk::AmoebaOptimizer'),
  ('Sample', 'itk::Statistics::Sample', 'itkSampleFAD1', 'itk::FixedArray< double,1 >'),
  ('SmartPointer', 'itk::SmartPointer', 'itkSampleFAD1_Pointer', 'itk::Statistics::Sample< itk::FixedArray< double,1 > >'),
  ('Sample', 'itk::Statistics::Sample', 'itkSampleFAF1', 'itk::FixedArray< float,1 >'),
  ('SmartPointer', 'itk::SmartPointer', 'itkSampleFAF1_Pointer', 'itk::Statistics::Sample< itk::FixedArray< float,1 > >'),
  ('Sample', 'itk::Statistics::Sample', 'itkSampleFAUL1', 'itk::FixedArray< unsigned long,1 >'),
  ('SmartPointer', 'itk::SmartPointer', 'itkSampleFAUL1_Pointer', 'itk::Statistics::Sample< itk::FixedArray< unsigned long,1 > >'),
  ('Sample', 'itk::Statistics::Sample', 'itkSampleFAUS1', 'itk::FixedArray< unsigned short,1 >'),
  ('SmartPointer', 'itk::SmartPointer', 'itkSampleFAUS1_Pointer', 'itk::Statistics::Sample< itk::FixedArray< unsigned short,1 > >'),
  ('Sample', 'itk::Statistics::Sample', 'itkSampleFAUC1', 'itk::FixedArray< unsigned char,1 >'),
  ('SmartPointer', 'itk::SmartPointer', 'itkSampleFAUC1_Pointer', 'itk::Statistics::Sample< itk::FixedArray< unsigned char,1 > >'),
  ('Sample', 'itk::Statistics::Sample', 'itkSampleFASL1', 'itk::FixedArray< signed long,1 >'),
  ('SmartPointer', 'itk::SmartPointer', 'itkSampleFASL1_Pointer', 'itk::Statistics::Sample< itk::FixedArray< signed long,1 > >'),
  ('Sample', 'itk::Statistics::Sample', 'itkSampleFASS1', 'itk::FixedArray< signed short,1 >'),
  ('SmartPointer', 'itk::SmartPointer', 'itkSampleFASS1_Pointer', 'itk::Statistics::Sample< itk::FixedArray< signed short,1 > >'),
  ('Sample', 'itk::Statistics::Sample', 'itkSampleFASC1', 'itk::FixedArray< signed char,1 >'),
  ('SmartPointer', 'itk::SmartPointer', 'itkSampleFASC1_Pointer', 'itk::Statistics::Sample< itk::FixedArray< signed char,1 > >'),
)
